1. Technical Field
This invention relates generally to relational database management systems, and more particularly, to extending the functionality of a relational database management system.
2. Description of the Related Art
A relational database management system (RDBMS) is a computer system which stores related information in a manner that facilitates the searching and modifying of that information. In a sense, an RDBMS is a high level programing language that specializes in data manipulation. An RDBMS accomplishes these modifications through a series of commands, functions, and rules. Application programmers can utilize these functions from within application code when constructing programs for end users. Using an RDBMS to manage data, application programmers can write more stable and efficient code.
Applications which interoperate with RDBMS systems often incorporate a customized “front end” and a standardized “back end.” The “front end” can include a graphical user interface (GUI), tailored reports, and application specific code. The “back end” can include the RDBMS. A database “back end” grants an application substantial, standardized functionality. Database “back ends” allow multiple users to simultaneously access and modify common data without corruption of the data. Additionally, database “back ends” can implement various security-related privilege schemes for different application users. Database “back ends” also allow efficient searches through large amounts of records located with different database tables.
An RDBMS requires significant structure and form to carry out its intended functions. An RDBMS structures information as a collection of tables having inter-related columns and rows. To access information stored in a relational database, an RDBMS provides a query methodology that allows database administrators and application programmers to access and manipulate stored information. One such query methodology is the Structured Query Language (SQL) interface, which is specified by standards adopted by the American National Standards Institute (ANSI) and the International Standards Organization (ISO) following original development work by International Business Machines (IBM) Corporation of Armonk, N.Y. The SQL interface permits users to perform operations on data tables. Operations can be performed interactively through batch file processing, or through SQL functions embedded in code of host languages such as C, COBOL, Pascal, and the like.
Certain database applications temporarily append nearly identical records knowing only one such record will be ultimately stored in the database. An airline passenger reservation system is an example of such an application. In an airline passenger reservation system, a passenger can make multiple reservations for different flights originating in a departure city and arriving at a destination city. Notwithstanding, the passenger likely plans on confirming and traveling on one of the reserved flights. Still, at the time the passenger reserves the multiple flights, there is uncertainty as to which reservation will be confirmed. Each of these reservations, however, can be stored as a temporary record in a row of a database table.
Presently, the front-end systems or application programs which interact with RDBMSs facilitate and track the grouping of related rows within a single database table. Hence, the application programs must contain code that maintains relationships among records within a single database table when such relationships are needed. Generating code within every database application that needs this commonly occurring functionality can be inefficient and wasteful.